Interactive gaming via mobile playmaker

ABSTRACT

A gaming system, comprising a site server configured to provide game instances to local gaming devices in communication with the site server, a monitor for displaying video information related to the game instances, a central server configured to provide information about the availability of a game to players using local gaming devices in proximity of the site server, provide information about the availability of the game to one of the mobile telephones over the wide-area wireless network, receive, from the one or more mobile telephones, an indication of a selected game offered by the central server, and relay game instances between the site server and the one or more mobile telephones as the selected game is being played by players using the local gaming devices and players using the one or more mobile telephones via the wide-area wireless network.

PRIORITY CLAIM

This application is a divisional of U.S. patent application Ser. No.15/173,648 filed on Jun. 4, 2016, now U.S. Pat. No. 10,821,367, which isa divisional of U.S. patent application Ser. No. 14/054,947, filed onOct. 16, 2013, which is a divisional of U.S. patent application Ser. No.13/153,247, filed on Jun. 3, 2011, which claims the benefit of U.S.provisional application Ser. No. 61/351,243, filed on Jun. 3, 2010.

BACKGROUND

This patent document relates to interactive gaming environments.Interactive gaming environments can include multiple users interactingwith a main controller. The multiple users can be dispersed acrossmultiple locations. Examples of interactive games include games thatinteract with video feeds from a football, question-and-answer games, ortrivia. The response time of a user's input into the interactive gamingenvironment can be compared to the other users' response times.

Interactive gaming environments can be provided over variouscommunication pathways such as computer networks, e.g., Internet,wireless networks, or television signal distribution architectures.Television signal distribution architectures have been developed toprovide alternatives to traditional over-the-air broadcasting. Forexample, since the late 1940's, cable television systems have been usedto deliver television signals to subscribers. Cable television systemsdistribute signals over optical fibers and/or electrical cables, such ascoaxial cable. Further, wireless-cable systems have been developed usingmicrowave signals as the distribution medium. Cable television systemspermit the distribution of both typical over-the-air content, such asbroadcast networks, and specialized content, such as pay channels andvideo on demand.

In a cable television system, television programming representing anumber of individual television channels is coordinated at a headend fordistribution to subscribers, such as endpoints within a particulargeographic region. All of the endpoints serviced by a headend receive acommon signal. Television programming representing a plurality ofseparate frequency bands is multiplexed onto a single cable. Thetelevision signal can be encoded as an analog signal or a digitalsignal. A set-top box (or “cable television tuner”) at the receivinglocation, such as a subscriber's home or business, provides access to asingle channel of the multiplexed signal. Thus, a single channelincluded in the cable television signal can be tuned and presented on acorresponding device, such as a television or computer monitor.

Direct broadcast satellite television systems also have been developedas an alternative to over-the-air broadcasting. As with cabletelevision, direct broadcast satellite television provides a single,multiplexed signal that is decoded using a set-top box (or “satellitereceiver”). The distribution medium between the satellite broadcasterand the set-top box, however, is a radio frequency signal, such as aKu-band transmission.

Until recently, both cable and satellite television distribution systemswere limited to receive-only. Because coaxial cables are capable ofbi-directional transmission, however, additional services have beenmerged with cable television systems. For example, voice and dataservices have been offered over cable television distribution systems.Similarly, the cable television transmission path can serve as aback-channel for information sent from the set-top box to the cabletelevision provider. Typically the bandwidth upstream from a set-top boxto a headend is lower than the downstream bandwidth from the headend tothe set-top box. Further, satellite television providers also haveimplemented bi-directional communication capabilities and are offeringadditional services, such as internet connectivity, in conjunction withthe television signal distribution architecture.

SUMMARY

This document describes, among other things, technologies that allowgame players to use their mobile devices as mobile playmakers ininteractive gaming environments.

A system for interactive gaming can include one or more site serversproviding game instances to one or more devices in communication withthe site server via a wired network, a wireless network, or both. Thesystem includes a server system in communication with the one or moresite servers; and one or more wireless mobile devices in communicationwith the server system. The server system can be configured to provideinformation about one or more of the gaming instances at one or moresites to the one or more mobile devices; receive, from the one or moremobile devices, an indication of a selected gaming instance of thegaming instances; relay gaming information between the one or more siteservers and the one or more mobile devices; and provide gaming contentand one or more gaming functions to the site servers.

The system, among other systems, can include one or more of thefollowing features. The server system can include a server that isconfigured to provide a video feed to the one or more mobile devices.The one or more mobile devices can be configured to display the videofeed on a mobile device display. The server system can include a scoringserver that maintains player score data for one or more of the gameinstances. The server system can include a gaming server system that isconfigured to contain, receive, integrate and execute video data, gamedata and game application. The one or more wireless mobile devices canbe configured to run a game control application which encodes and sendsa mobile device's physical location information to the gaming serversystem. The gaming server system can be configured to match a mobiledevice's physical location to at least one of the one or more siteservers. The gaming server system can be configured to run one or moregame applications that build and run game contests among playersconnected via respective mobile devices in a given physical location andplayers connected via a site server at the same physical location.

In another aspect, a system for interacting gaming can include siteservers configured to provide gaming instances at respective gaminglocations, a first server system, and a second server system. The firstserver system can be configured to (i) receive location informationassociated with a mobile device, (ii) provide, based on the locationinformation, information about one or more of the gaming instances tothe mobile device, and (iii) receive, from the mobile device, anindication of a selected gaming instance of the gaming instances. Thesecond server system can interact with the gaming instances and routegaming messages to and from the site servers. The second server systemcan be configured to (i) receive, from the mobile device, a gamingmessage associated with the selected gaming instance, (ii) identify asite server of the site servers that provides the selected gaminginstance, and (iii) send the gaming message to the identified siteserver. The first server system can direct the mobile device tocommunicate with the second server system based on the receivedindication.

The system, among other systems, can include one or more of thefollowing features. The first server system can be configured to (i)identify a gaming location of the gaming locations based on the locationinformation and (ii) provide information to the mobile device to prompta user of the mobile device to join a gaming instance associated withthe identified gaming location. The system can include a server systemthat is configured to provide information to synchronize the selectedgaming instance with a display of a video feed at the correspondinggaming location. The system can include a server system that isconfigured to provide the video feed to the mobile device, where themobile device is configured to display the video feed on a display ofthe mobile device. The system can include a server system that isconfigured to provide the video feed to the mobile device and to causethe mobile device to display a video advertisement on a display of themobile device based on a synchronization with the display of the videofeed at the corresponding gaming location, where the mobile device isconfigured to display the video feed on the display of the mobiledevice. In some implementations, the first server system includes thesecond server system.

A technique for interactive gaming can include communicating with two ormore site servers that provide a gaming experience in two or more gaminglocations, respectively; receiving, from a mobile device, a request tojoin a game, the request indicative of a geographical location of themobile device; selecting one or more of the site servers based on thegeographical location of the mobile device; and sending contactinformation of the selected one or more site servers to the mobiledevice. Other implementations of this aspect include correspondingsystems, apparatus, and programs encoded on computer storage devices.

These, and other implementations, can include one or more of thefollowing features. Selecting one or more of the site servers based onthe geographical location of the mobile device can include selecting asite server based on a proximity between the geographical location ofthe mobile device and a gaming location associated with a site server.Implementations can include causing the mobile device to display a videoadvertisement based on a synchronization with the display of the videofeed. Implementations can include operating a scoring server thatmaintains player score data for game instances that are provided by thesite servers.

Sending contact information can include sending an address of amultiplayer server. The multiplayer server can be configured to routemessages between the mobile device and the selected one or more siteservers. Implementations can include sending information about one ormore selected site servers to the mobile device, the informationidentifying one or more gaming instances that are provided by the one ormore selected site servers; and receiving, from the mobile device, anindication of a selected gaming instance of the one or more gaminginstances. Sending contact information can include sending informationthat directs the mobile device to communicate with a server systemassociated with the selected gaming instance. Implementations caninclude receiving, from the mobile device, a gaming message associatedwith the selected gaming instance; identifying a site server of the siteservers that provides the selected gaming instance; and sending thegaming message to the identified site server.

Implementations can include operating a server system that is configuredto provide information to synchronize a game play with a display of avideo feed. The video feed can be displayed at two or more gaminglocations. Implementations can include causing the mobile device todisplay the video feed. Implementations can include causing the mobiledevice to display a video advertisement based on a synchronization withthe display of the video feed.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features,aspects, and advantages will become apparent from the description, thedrawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1, 2, 3, and 4 show different examples of interactive gamingenvironments.

FIG. 5 shows an example of a geolocation web process.

FIG. 6 shows an example of a multiplayer communication process.

Like reference symbols and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

This document describes, among other things, techniques and systems thatallow game players to use their mobile devices, such as a mobile phoneor a tablet computer, to participate in interactive gaming environments.A mobile device can run a mobile playmaker application that providesaccess to a gaming network. The gaming network provides connectivity tosite servers running gaming instances at respective gaming locations.Further, the gaming network provides a communication pathway betweenmobile devices and site servers. In some cases, game play can becoordinated between multiple locations via the gaming network.

Game players, such as those without mobile phones that are capable ofrunning the mobile playmaker application, can access the gaming networkvia controllers that reside at a gaming location. The controllers areconnected with a site server associated with the gaming location. A gameplayer, for example, can be matched up and play games against otherplayers that are associated with the same gaming location regardless ofhow they are accessing the gaming network (e.g., accessing the gamingnetwork by a mobile device or accessing the gaming network by acontroller).

Participants of an interactive gaming environment can be located inmultiple locations or in a single location. Gaming locations can includepublic locations such as bars, restaurants, and in general, gamingestablishments. These gaming locations can be associated with separategaming instances. For example, a trivia gaming instance at Joe's Bar isseparate from a trivia gaming instance at Jim's Traven. In some cases,however, a gaming instance can be associated with more than one gaminglocation. For example, participants at Joe's Bar join with theparticipants at Jim's Traven to play a trivia game.

Interactive gaming environments can include displaying game informationat one or more locations. Game information can be synchronized with livefeed video.

For example, the QBI game, available from NTN Buzztime of Carlsbad,Calif., can synchronize a gaming environment with a real-time video feedof a football game. Other games can include question-and-answer gamessuch as trivia games. In each of these games, a user at some remotelocation plays in the game. The game can be played either by itself orcan be scored against one or more other players who are playing the gameat the same time.

Gaming establishments can provide playmakers so that users can play thegame. However, such playmaker devices can be relatively expensive andcan be a barrier to entry for many gaming establishments. Thus, it isadvantageous for an interactive gaming environment to interface with auser's own mobile device. For example, multiple access points can beused to allow access to a game server to enable the use of a user's ownmobile device. Multiple types of devices, including wireless and wired,can be used to interact with the game server. The devices can includemobile phones, personal data assistants, wireless playmaker devices, orwireless tablet computers.

Interactive gaming environments can be of a time sensitive nature. Forexample, game scoring can include determining when a user made aresponse, e.g., pushed the “send” button, to a game event and comparingthat time with response times of other users. Time sensitive gamingenvironments can require game information to be displayed on a playmakerwithin specific time frames. A game event, for example, can include aquestion presented to players of the game, or sport players preparing tostart a play. Timing can be an important element when scoring gameresponses.

Time sensitive gaming environments can require a user to make a responseat a specified time or before a specified time. For example, asports-based game can be played in sync with a real-life game such asfootball. In one such sports-based game, the users can attempt to guessthe play that will be made by the team at the next play time. A gameresponse can include a type of play. As the offense approaches the lineof scrimmage, the players can guess the contents of the play. Forexample, a user can make a guess based on the way the offenseapproaches, body language, line up positions, etc. Game responses can belocked out before the play starts to avoid any game player receiving anunfair advantage. However, it can be advantageous to allow players tosee the sport's players up to the last second, at the line of scrimmage,so that the game players can make the best guesses. The user with themost correct guesses wins the game. Therefore, such a sports based gamecan attempt to synchronize with the football “snap” to allow gameresponses up until the moment of the snap. In another example, in aquestion-and-answer game, a user can receive more points when answeringthe questions sooner, and/or can receive hints at different times.Therefore, compensating for latency can be important for such timesensitive games.

In an interactive gaming environment where game responses are receivedfrom multiple disparate physical networks, the different latenciesbetween the disparate networks to the game server can become an issue.These disparate networks can include local area wireless networks, suchas those based on IEEE 802.11 standards, wide area wireless networks,and cellular networks by multiple service providers. In addition, themode of communication within these disparate sources can includeIP-based packets and text messages using a protocol such as ShortMessage Service (SMS). Further, poor signal strength in a wirelessnetwork can increase the latency of an individual mobile device used inthe network. Latency can vary greatly between these disparate networks.Such variations in latency can impact the scoring of a game if thetiming of the receipt of the game response at the main controller isused to determine when a user made the game response.

Interactive gaming environments can include one or more server systems.A server system can include one or more servers such as a game serverthat coordinates game play. In some implementations, a game server cancontrol a site server to coordinate game play at a gaming location. Aserver system can include one or more remote processing units (e.g.set-top box or other embedded systems, programmed general purposecomputers) that act together with the game server or independently.

FIG. 1 shows an example of an interactive gaming environment. Mobiledevices 101 can run a game control application, e.g., a mobile playmakerapplication. A gaming server system 104 can provide gaming informationto the game control applications so that a user of a mobile device 101can participate in a game. In some implementations, the gaming serversystem 104 can provide information to cause a game control applicationto connect to a site server 105 in a specific location (e.g., a gamingestablishment, night club, bar, or lounge) that coordinates a localexperience of a game. In some implementations, the gaming server system104 can provide information to cause a game control application to use aserver such as a proxy server to communicate with a site server 105.

A gaming server system 104 can contain, receive, integrate and executevideo data, game data, and game applications. In some implementations, agaming server system 104 includes a game server 115 that runs gamingrelated processes. In some implementations, a gaming server system 104can include one or more servers such as headend servers or headendcollocated servers. A web server 110, included in the gaming serversystem 104, can be configured to match a mobile device's 101 physicallocation to a gaming location associated with a site server 105. Forexample, the mobile device 101 can send the web server 110 a request forinformation about any gaming instances at a gaming location that is inproximity with a phone's physical location. The web server 110 canidentify a gaming instance and can send information on how tocommunicate with the gaming instance to the mobile device 101.

A game control application, running on a mobile device 101, can encodeand send a mobile device's physical location to a gaming server system104 via one or more networks 103. In some implementations, a gamecontrol application causes a mobile device 101 to determine geographicalcoordinates of the mobile device 101 based on receiving signals from oneor more satellites in a global positioning system (GPS). In someimplementations, a mobile device 101 can send GPS signals to a serverwhich determines the geographical coordinates and sends the geographicalcoordinates to the mobile device 101.

In some implementations, a game control application can retrieve, from amobile device 101 communication process, one or more identifiers of basestations in a wireless communication system that is serving the mobiledevice 101. The game control application can send information such asone or more base station identifiers to the gaming server system 104.The gaming server system 104 can determine an approximate physicallocation of the mobile device 101 based on the base station identifiers.In some implementations, a gaming server system 104 can determine anapproximate area of a mobile device 101 based on a network address, suchas an IP address, associated with the mobile device 101.

A game server 115 of a gaming server system 104 can run one or more gameapplications that build and run game contests among players. The gameserver 115 can provide communication between different local gameexperiences that are created by site servers 105. A player can beconnected via his mobile device 101 to a site server 105 to play a game.Alternatively, a player can be connected via a local controller 107 toplay the game. A local controller 107 can be connected to a site server105 via a local wireless connection or wired connection. In someimplementations, a mobile playmaker application, running on a mobiledevice 101, can request a list of game sites that are associated with amobile device's physical location. A gaming server system can sendgaming information to the mobile playmaker application. Gaminginformation can include a game instance identifier and a network addressof a proxy for communicating with a corresponding game instance.

FIG. 2 shows another example of an interactive gaming environment.Gaming establishments 205 can include one or more monitors 215 such as atelevision to display video feeds. Gaming establishments 205 can hostgames that are associated with the video feeds. A game server 220 candirect a video feed from a video server 225 to a mobile device 230. Amobile device server 210 can direct communications between mobiledevices 230 and site server 240. In some implementations, a game server220 can send information to cause the mobile device 230 to synchronizegame play to the video feed that is being displayed at a specificlocation. In some implementations, a site server 240 can determine avideo feed delay and send a delay value to a mobile device 230 via agame server 220. A local controller 250, connected to a site server 240,can provide an alternate way of interacting with the site server 240.

A video feed can include one or more advertisements. A game controlapplication can switch from an interactive game mode to a video displaymode. In a video display mode, the game control application can receivea video feed from the video server and synchronize a display of thevideo feed on the mobile device to a display of the video feed at amonitor located in a gaming establishment where the device is currentlylocated. Once a play of the advertisement is finished, the mobile devicecan switch to an interactive game mode.

FIG. 3 shows yet another example of an interactive gaming environment. Agaming system can include a server such as a main controller 300. A maincontroller 300 can communicate over a network line 305 to a remoteprocessing unit (RPU) 325 that is at a gaming location. In someimplementations, the RPU can be a computer, a set-top box, or any devicewith processor electronics. The network line 305 can be a communicationpath through the Internet, a path through a local area network (LAN), ora general data communication path. The RPU 325 can display content on anoutput device such as a screen 330 of a television 326 or a monitor viaa media link 328. The television 326 can also receive a video feed,e.g., programming 327 such as football games or other televisionprogramming. The television 326 can receive programming 327 over manymediums including cable and satellite. The RPU 325 can include awireless capability 331. The wireless capability 331 can communicatewith multiple different mobile devices 335, 336.

In some implementations, a wireless capability 331 can communicatedirectly with a user's personal mobile device 335. For example, themobile device 335 can be a cell phone, Blackberry, or PDA. The mobiledevice 335 can include a WiFi module. The WiFi module can transmit andreceive signals in accordance with a protocol such as the IEEE 802.11family of protocols. The mobile device 335 can search for wirelesssignals and connect to other mobile devices. The WiFi module of themobile device 335 can communicate with the RPU 325 over a wireless link,when the mobile device 335 is in range of the wireless capability 331 ofthe RPU 325.

In some implementations, a mobile phone 340 can be used in a cellularnetwork to communicate directly with the main controller 300. The mobilephone 340 can use resources of a cellular network, such as a wirelesscommunication tower 341 via a wireless link, to communicate with themain controller 300. The cellular network can use a communication path307 to establish a connection between the tower 341 and the maincontroller 300. The communication path can include private networks ofthe cellular network provider and the Internet.

The mobile device 340 can use software such as a native web browser or acustom downloadable program to enable communications with maincontroller 300. The software can render game stimuli and capture gameresponses. The program can be written in C, C++, Java, BREW (R), or anyother programming language. For example, the program can be written inthe device's operating system and can allow direct communication to themain controller 300. The communication can be over regular cellularairwaves or over Short Message Service (SMS).

Another device, such as a mobile phone 350, can use a different wirelessnetwork to communication with the main controller 300. The mobile phone350 can use resources of a wireless network, such as a wirelesscommunication tower 351 via a wireless link, to communicate with themain controller 300. The wireless network can use a communication path306 to establish a connection between the tower 351 and the maincontroller 300.

A mobile device 336 can include a Bluetooth™ wireless module 337. Insome implementations, the wireless capability 331 of the RPU 325 caninclude Bluetooth™ capabilities. Therefore, the mobile device 336 cancommunicate with the wireless capability 331 of the RPU 325 via theBluetooth™ wireless module 337.\

The mobile device 336 can use software such as a native web browser or acustom downloadable program to enable communications with the RPU 325.The software can capture game responses such as a user pressing a buttonon the mobile device 336. The software can send the response to the RPU325. In turn, the RPU 325 can process the game response and/or forwardthe response to the main controller 300.

The latencies between mobile devices 335, 336, 340, 350 and the maincontroller 300 can vary. Further, latency can vary widely betweendifferent cellular networks and wireless networks. In order tocompensate for the varying latencies, a mobile device 335, 336, 340, 350can send, in addition to the game response, a timestamp indicative ofthe time when the game response was made. For example, a device cancapture the time when a user presses a button that generates the gameresponse. The main controller 300 can receive a response from a mobiledevice at some later time, perhaps as long as 2 to 15 seconds later. Themain controller 360 can look at the timestamp in the response, ratherthan looking at the response's actual received time. In this way, thelatency in the network can be compensated in non-real time.

In some implementations, a mobile device can be a laptop computer. Someimplementations can distribute the functional components of the maincontroller amongst other gaming components such as a RPU. Otherimplementations can include multiple RPUs. Alternatively, animplementation can include a main controller and mobile devices withoutthe use of a RPU.

FIG. 4 shows another example of an interactive gaming environment. Aninteractive gaming environment can include servers such as a geolocationweb server 405, a multiplayer server 410, and site servers 415 (only oneis shown). The site servers 415 are configured to provide gaminginstances at respective gaming locations. In some implementations, asite server 415 can provide multiple gaming instances at a gaminglocation. A site server 415 can have persistent connections with themultiplayer server 410. The multiplayer server 410 can provide gamingfunctions such as providing communications among gaming instances,providing highest score information, and gamer chatting services.

A mobile device 420, which can be referred to as a mobile playmaker, cancommunicate with the geolocation web server 405 to retrieve informationabout one or more gaming instances. In some implementations, the mobiledevice 420 transmits geographical coordinates to the geolocation webserver 405, and the geolocation web server 405 identifies one or moregaming locations based on a proximity with the mobile device 420.

The mobile device 420 can communicate with a selected gaming instancevia the multiplayer server 410. The multiplayer server 410 can provide aduplex connection between the mobile device 420 and a site server 415.Providing a duplex connection can include routing gaming messagesbetween the mobile device 420 and at least one of the site servers 415.The site server 415 can provide gaming video output to respectivemonitors 430, 435.

FIG. 5 shows an example of a geolocation web process. At 505, ageolocation web process receives location information associated with amobile device. At 510, the process provides, based on the locationinformation, information about one or more of the gaming instances tothe mobile device. Provided information can include a game title, playerstatus, information about the gaming location, or a combination thereof.At 515, the process receives, from the mobile device, an indication of aselected gaming instance. At 520, the process sends a network address ofa multiplayer server for the selected gaming instance to the mobiledevice. The mobile device can send gaming messages to that networkaddress for a corresponding gaming instance.

FIG. 6 shows an example of a multiplayer communication process. At 605,a multiplayer communication process receives, from the mobile device, agaming message associated with a selected gaming instance. A gamingmessage can include a request to join message, game status information,score data, or a game response message (e.g., an answer to a triviaquestion or a game move indication). At 610, the process identifies asite server that provides the selected gaming instance. In someimplementations, identifying a site server can include using a selectedgaming instance received by a web server. In some implementations, agaming message includes a gaming instance identifier that is associatedwith a site server. At 615, the process sends the gaming message to theidentified site server.

A system for game play, in some implementations, can include two or moresite servers; a gaming server system that is configured to contain,receive, integrate and execute video data, game data and gameapplication; and a mobile device running a game control applicationwhich encodes and sends the mobile device's physical location to thegaming server system. In some implementations, a gaming server system iscapable of matching a mobile device's physical location to at least oneof the two or more site servers. In some implementations, the gamingserver system is configured to run one or more game applications thatbuild and run game contests among players connected via respectivemobile devices in a given physical location and players connected via asite server at the same physical location. In some implementations, thegaming server system includes a video server to provide a video feed.

In some implementations, a system for game play can include a televisiondistribution system. For example, an interactive gaming serviceinvolving one or more subscribers (or players/users) can be providedover a television distribution system. Game play can be initiated from aclient device, such as a mobile device or a set-top box included in thetelevision distribution system. Further, execution and coordination of agame instance can be controlled by a server system included in thetelevision distribution system. For example, the server system can beconfigured to control access to a game, to manage game play, to recordgame scores, and to facilitate communication and interaction betweensubscribers participating in one or more game instances. Otherinteractive services also can be provided such as shopping, weatherforecasts, and chatting.

Embodiments of the subject matter and the operations described in thisdocument can be implemented in digital electronic circuitry, or incomputer software, firmware, or hardware, including the structuresdisclosed in this document and their structural equivalents, or incombinations of one or more of them. Embodiments of the subject matterdescribed in this document can be implemented as one or more computerprograms, i.e., one or more modules of computer program instructions,encoded on computer storage medium for execution by, or to control theoperation of, data processing apparatus. Alternatively or in addition,the program instructions can be encoded on an artificially-generatedpropagated signal, e.g., a machine-generated electrical, optical, orelectromagnetic signal that is generated to encode information fortransmission to suitable receiver apparatus for execution by a dataprocessing apparatus. A computer storage medium can be, or be includedin, a computer-readable storage device, a computer-readable storagesubstrate, a random or serial access memory array or device, or acombination of one or more of them. Moreover, while a computer storagemedium is not a propagated signal, a computer storage medium can be asource or destination of computer program instructions encoded in anartificially-generated propagated signal. The computer storage mediumcan also be, or be included in, one or more separate physical componentsor media (e.g., multiple CDs, disks, or other storage devices).

The operations described in this document can be implemented asoperations performed by a data processing apparatus on data stored onone or more computer-readable storage devices or received from othersources. The term “data processing apparatus” encompasses all kinds ofapparatus, devices, and machines for processing data, including by wayof example a programmable processor, a computer, a system on a chip, ormultiple ones, or combinations, of the foregoing. The apparatus caninclude special purpose logic circuitry, e.g., an FPGA (fieldprogrammable gate array) or an ASIC (application-specific integratedcircuit). The apparatus can also include, in addition to hardware, codethat creates an execution environment for the computer program inquestion, e.g., code that constitutes processor firmware, a protocolstack, a database management system, an operating system, across-platform runtime environment, a virtual machine, or a combinationof one or more of them. The apparatus and execution environment canrealize various different computing model infrastructures, such as webservices, distributed computing and grid computing infrastructures.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (e.g., one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (e.g., files that store one or more modules,sub-programs, or portions of code). A computer program can be deployedto be executed on one computer or on multiple computers that are locatedat one site or distributed across multiple sites and interconnected by acommunication network.

The processes and logic flows described in this document can beperformed by one or more programmable processors executing one or morecomputer programs to perform actions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application-specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data, e.g., magnetic, magneto-optical disks, or optical disks.However, a computer need not have such devices. Moreover, a computer canbe embedded in another device, e.g., a mobile telephone, a personaldigital assistant (PDA), a mobile audio or video player, a game console,a Global Positioning System (GPS) receiver, or a portable storage device(e.g., a universal serial bus (USB) flash drive), to name just a few.Devices suitable for storing computer program instructions and datainclude all forms of non-volatile memory, media and memory devices,including by way of example semiconductor memory devices, e.g., EPROM,EEPROM, and flash memory devices; magnetic disks, e.g., internal harddisks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROMdisks. The processor and the memory can be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for interaction with a user, embodiments of the subjectmatter described in this document can be implemented on a computerhaving a display device, e.g., a CRT (cathode ray tube) or LCD (liquidcrystal display) monitor, for displaying information to the user and akeyboard and a pointing device, e.g., a mouse or a trackball, by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user as well; for example,feedback provided to the user can be any form of sensory feedback, e.g.,visual feedback, auditory feedback, or tactile feedback; and input fromthe user can be received in any form, including acoustic, speech, ortactile input. In addition, a computer can interact with a user bysending documents to and receiving documents from a device that is usedby the user; for example, by sending web pages to a web browser on auser's client device in response to requests received from the webbrowser.

One of more of the described systems and techniques can be combined withtechnology disclosed by U.S. patent application Ser. No. 12/060,127,filed Mar. 31, 2008, and entitled “VIDEO FEED SYNCHRONIZATION IN ANINTERACTIVE ENVIRONMENT.” This application is incorporated herein byreference.

Embodiments of the subject matter described in this document can beimplemented in a computing system that includes a back-end component,e.g., as a data server, or that includes a middleware component, e.g.,an application server, or that includes a front-end component, e.g., aclient computer having a graphical user interface or a web browserthrough which a user can interact with an implementation of the subjectmatter described in this document, or any combination of one or moresuch back-end, middleware, or front-end components. The components ofthe system can be interconnected by any form or medium of digital datacommunication, e.g., a communication network. Examples of communicationnetworks include a local area network (“LAN”) and a wide area network(“WAN”), an inter-network (e.g., the Internet), and peer-to-peernetworks (e.g., ad hoc peer-to-peer networks). The computing system caninclude clients and servers. A client and server are generally remotefrom each other and typically interact through a communication network.The relationship of client and server arises by virtue of computerprograms running on the respective computers and having a client-serverrelationship to each other. In some embodiments, a server transmits data(e.g., an HTML page) to a client device (e.g., for purposes ofdisplaying data to and receiving user input from a user interacting withthe client device). Data generated at the client device (e.g., a resultof the user interaction) can be received from the client device at theserver.

While this document contains many specific implementation details, theseshould not be construed as limitations on the scope of any inventions orof what may be claimed, but rather as descriptions of features specificto particular embodiments of particular inventions. Certain featuresthat are described in this document in the context of separateembodiments can also be implemented in combination in a singleembodiment. Conversely, various features that are described in thecontext of a single embodiment can also be implemented in multipleembodiments separately or in any suitable subcombination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a subcombination. Similarly, whileoperations are depicted in the drawings in a particular order, thisshould not be understood as requiring that such operations be performedin the particular order shown or in sequential order, or that allillustrated operations be performed, to achieve desirable results. Incertain circumstances, multitasking and parallel processing may beadvantageous. Moreover, the separation of various system components inthe embodiments described above should not be understood as requiringsuch separation in all embodiments, and it should be understood that thedescribed program components and systems can generally be integratedtogether in a single software product or packaged into multiple softwareproducts.

Thus, particular embodiments of the subject matter have been described.Other embodiments are within the scope of the following claims. In somecases, the actions recited in the claims can be performed in a differentorder and still achieve desirable results. In addition, the processesdepicted in the accompanying figures do not necessarily require theparticular order shown, or sequential order, to achieve desirableresults. In certain implementations, multitasking and parallelprocessing may be advantageous.

We claim:
 1. A central gaming server for allowing local game playersusing local gaming controllers and a player using a cellularcommunication device to participate in games against or with each other,comprising: a processor for simultaneously providing information aboutthe availability of a plurality of games to the cellular communicationdevice; the processor further for receiving a request from the cellularcommunication device to participate in a first game selected from theinformation about the availability of the plurality of games; theprocessor further for receiving a request from the cellularcommunication device for a list of venues in proximity to the cellularcommunication device that are or will be playing the first game by thelocal game players; the processor further for determining a location ofthe cellular communication device; the processor further for determiningan identification of venues that are or will be playing the game by thelocal game players in proximity to the location of the cellularcommunication device; the processor further for providing theidentification of venues to the cellular communication device; theprocessor further for building the first game to include the playerusing the cellular communication device and a first local gamingcontroller; and the processor further for relaying game play informationbetween the cellular communication device and the first local gamingcontroller as the first game is played by the player using the cellularcommunication device and a local game player.
 2. The central gamingserver of claim 1, further comprising: the processor further for causingat least a portion of the game play information to be displayed by amonitor located within one of the venues for display to the local gameplayer.
 3. The central gaming server of claim 2, further comprising: theprocessor further for receiving a video feed related to the first gamefrom a video server; and the processor further for providing the videofeed to the cellular communication device and to the first local gamingcontroller; wherein the local gaming players view the video feed on themonitor as the first game is played and the player that uses thecellular communication device views the video feed on the cellularcommunication device as the first game is played.
 4. The central gamingserver of claim 3, wherein the video feed comprises video of a livesporting event.
 5. The central gaming server of claim 1, furthercomprising: the processor further for receiving a request from thecellular communication device for information about any games that areor will be played by local game players at venues in proximity to alocation of the cellular communication device; the processor further fordetermining an identification of games that are or will be played bylocal game players at venues in proximity to a location of the cellularcommunication device; and the processor further for providing theidentification of games to the cellular communication device.
 6. Thecentral gaming server of claim 1, further comprising: the processorfurther for determining a network address for the cellular phone toconnect to in order for the player using the cellular communicationdevice to play the game.
 7. The central gaming server of claim 1,further comprising: the processor further for providing synchronizationinformation to the cellular communication device participating in thefirst game, the synchronization information used by the cellularcommunication device to synchronize game play between the cellularcommunication device and the first local communication device.
 8. Thecentral gaming server of claim 1, further comprising: the processorfurther for building the first game to include the player using thecellular communication device, the first local gaming controller and asecond local gaming controller located at a second venue.
 9. A method,performed by a central gaming server, for allowing local game playersusing local gaming controllers and a player using a cellularcommunication device to participate in games against or with each other,the method comprising: simultaneously providing information about theavailability of a plurality of games to the cellular communicationdevice; receiving a request from the cellular communication device toparticipate in a first game selected from the information about theavailability of the plurality of games; receiving a request from thecellular communication device for a list of venues in proximity to thecellular communication device that are or will be playing the first gameby the local game players; determining a location of the cellularcommunication device; determining an identification of venues that areor will be playing the game by the local game players in proximity tothe location of the cellular communication device; providing theidentification of venues to the cellular communication device; buildingthe first game to include the player using the cellular communicationdevice and a first local gaming controller; and relaying game playinformation between the cellular communication device and the firstlocal gaming controller as the first game is played by the player usingthe cellular communication device and a local game player.
 10. Themethod of claim 9, further comprising: causing at least a portion of thegame play information to be displayed to the local game player via amonitor located within the public venue.
 11. The method of claim 10,further comprising: receiving a video feed related to the first gamefrom a video server; and providing the video feed to the cellularcommunication device and to the first local gaming controller; whereinthe local gaming players view the video feed on the monitor as the firstgame is played and the player that uses the cellular communicationdevice views the video feed on the cellular communication device as thefirst game is played.
 12. The method of claim 11, wherein the video feedcomprises video of a live sporting event.
 13. The method of claim 9,further comprising: receiving a request from the cellular communicationdevice for information about any games that are or will be played bylocal game players at venues in proximity to a location of the cellularcommunication device; determining an identification of games that are orwill be played by local game players at venues in proximity to alocation of the cellular communication device; and providing theidentification of games to the cellular communication device.
 14. Themethod of claim 9, further comprising: determining a network address forthe cellular phone to connect to in order for the player using thecellular communication device to play the game.
 15. The method of claim9, further comprising: providing synchronization information to thecellular communication device participating in the first game, thesynchronization information used by the cellular communication device tosynchronize game play between the cellular communication device and thefirst local communication device.
 16. The method of claim 9, furthercomprising: building the first game to include the player using thecellular communication device, the first local gaming controller and asecond local gaming controller located at a second public venue.